package jpa;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.ManyToOne;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import java.text.SimpleDateFormat;
import java.util.Date;
import javax.persistence.OneToMany;

@Entity
public class Vonat {

    private static int sequence = 1;
    
    @Id
    private int id;    
    
    @Temporal(TemporalType.DATE)
    private Date datum;
    private int keses;
 
    @ManyToOne
    private Vonatszam vonatszam;
    @ManyToOne
    private Mozdony mozdony;
	
    public Vonat() {
    }
    
    public Vonat(Date d, int k, Vonatszam vsz, Mozdony mozdony) {
    	vonatszam = vsz;
    	datum = d;
    	keses = k;
        this.mozdony = mozdony;
        id = sequence++;
    }

    public int getId() {
    	return id;
    }

    public Date getDatum() {
        return datum;
    }

    public Mozdony getMozdony() {
        return mozdony;
    }
    
    public Vonatszam getVonatszam() {
        return vonatszam;
    }
    
    public void setDatum(Date datum) {
        this.datum = datum;
    }

    public int getKeses() {
        return keses;
    }

    public void setKeses(int keses) {
        this.keses = keses;
    }
    
    @Override
    public String toString() {
        return vonatszam.getSzam() + " " + new SimpleDateFormat("yyyy.MM.dd").format(datum) +
                " " + mozdony.getId() + " " + mozdony.getFutottkm() + " " + keses;
    }

}
